1. Field of the Invention
The present invention relates to an apparatus and method for stabilized binary differencing. More particularly, the present invention relates to an apparatus and method for generating a delta file based on a steering file obtained from a stabilized firmware image.
2. Description of the Related Art
Mobile terminals were developed to provide wireless communication between users. As technology has advanced, mobile terminals now provide many additional features beyond simple telephone conversation. For example, mobile terminals are now able to provide additional functions such as an alarm, a Short Messaging Service (SMS), a Multimedia Message Service (MMS), E-mail, games, remote control of short range communication, an image capturing function using a mounted digital camera, a multimedia function for providing audio and video content, a scheduling function, and many more. With the plurality of features now provided, a mobile terminal has effectively become a necessity of daily life.
Typically, a mobile terminal manufacturer prepares the mobile terminal with the necessary firmware to operate the mobile terminal and provides the mobile terminal to carriers for sale to users. To generate the firmware, the mobile terminal manufacturer often employs a linker offered by the manufacturer of the microprocessor controlling the mobile terminal. The linker collects the object code for the program and links them together into a runnable image that can be stored in the memory of the mobile terminal.
Recently, linkers have been modified to output “stabilized” images. According to this modification, when the linker is provided with the same set of object files and archive files in the same sequence, the linker will link the objects together in a highly similar fashion. The output of the linker therefore becomes more “stable” and predictable.
The mobile terminal manufacturer also makes firmware updates available to the users. An update may be necessary to correct bugs, to enhance security, or provide additional features. The updates are typically provided to the users via a delta package. The delta package includes the new or updated code and data in the firmware update, as well as instructions to permit the mobile terminal to update the previously stored firmware. To reduce size, the delta package generally does not include code or data that has not changed in the updated firmware.
However, in order to generate the delta package, the old firmware and the updated firmware need to be compared so that the differences can be identified. This process can be slow and time-consuming. As a result, the schedule for the release of the firmware update to users may be delayed. Accordingly, there is a need for an apparatus and method for providing improved differencing of firmware code and data.